// array 数组-数据类型[高级]
package main

import "fmt"

var arr = [6]byte{10, 20, 30}

func main() {
	fmt.Printf("arr[0]: %d\n", arr[0])
	fmt.Printf("arr[1]: %d\n", arr[1])
	fmt.Printf("arr[2]: %d\n", arr[2])

	// 数组简写
	arr := [5]int{0, 1, 2, 3, 4}
	fmt.Printf("arr[1]: %d\n", arr[1])

	// 不显示定义长度
	arr = [...]int{0, 1, 2, 3, 4}
	fmt.Printf("arr[2]: %d\n", arr[2])

	// 定义前四个元素为默认值 0，最后一个元素为 -1
	arr = [...]int{4:-4}
	fmt.Printf("arr[len(arr)-1]: %d\n", arr[len(arr)-1])
	fmt.Printf("arr[0]: %d\n", arr[0])

	// 多维数组
	var arr1 [2][3]int
	for y := 0; y < 3; y++ {
		for x := 0; x < 2; x++ {
			arr1[x][y] = x * y
		}
	}
	fmt.Printf("arr[1][1]: %d\n", arr1[1][2])

	// len() 获取数组中元素的个数
	fmt.Printf("len(arr): %d\n", len(arr))

	// cap() 获取容量
	fmt.Printf("cap(arr1): %d\n", cap(arr1))
}